perm filename PARSE.SRC[PNT,HE] blob sn#519016 filedate 1980-06-25 generic text, type T, neo UTF8
  1) PARSE.SAI[PNT,HE] and 2) PARSE.SAI[TMP,MSM]	6-25-80 13:53	pages 1,1

**** File 1) PARSE.SAI[PNT,HE]/1P/6L
1)	C00015 00004	!	tables to set up reserved words 
1)	C00018 00005	! 	decoding a token to give its various parameters 
1)	C00020 00006	!	procedure parse itself
1)	C00025 00007	!	preparse
1)	C00026 ENDMK
1)	C⊗;
**** File 2) PARSE.SAI[TMP,MSM]/1P/6L
2)	C00014 00004	!	tables to set up reserved words 
2)	C00017 00005	! 	decoding a token to give its various parameters 
2)	C00019 00006	!	procedure parse itself
2)	C00023 00007	!	preparse,rparse
2)	C00024 ENDMK
2)	C⊗;
***************


**** File 1) PARSE.SAI[PNT,HE]/2P/11L
1)	DEFINE #DEBUG='40;	! complain if ¬!!debugging;
1)	!	define reserved token codes ;
**** File 2) PARSE.SAI[TMP,MSM]/3P/1L
2)	!	define reserved token codes ;
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/46L
1)		XX(TRUE,	BREAK,		BREAKDEBUG(TRUE),	#DEBUG+#TOP)
1)	XX(#MOVE∧FALSE,	BY,		DEFLT("BY"),	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/46L
2)	XX(#MOVE∧FALSE,	BY,		DEFLT("BY"),	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/51L
1)	XX(#MOVE,	CLOSE,		OPENPROC(FALSE),	0)
1)	XX(TRUE,	COBEGIN,	COBEGINPROC,	#CMPD)
**** File 2) PARSE.SAI[TMP,MSM]/3P/50L
2)	XX(#MOVE,	CLOSE,		OPENPROC(FALSE),0)
2)	XX(TRUE,	COBEGIN,	COBEGINPROC,	#CMPD)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/68L
1)	XX(TRUE,	DUMP_VARIABLES,	DUMPPROC(NAME_OF_FILE),	#TOP)
1)	XX(TRUE,	DURATION,	NOTAVAILCALL,	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/67L
2)	XX(TRUE,	DUMP_VARIABLES,	DUMPPROC(NAMEFILE),	#TOP)
2)	XX(TRUE,	DURATION,	NOTAVAILCALL,	0)
  1) PARSE.SAI[PNT,HE] and 2) PARSE.SAI[TMP,MSM]	6-25-80 13:53	pages 3,3

***************


**** File 1) PARSE.SAI[PNT,HE]/3P/78L
1)	comment ZZ("EVAL",	EVAL_X,		PF_XX,	0);
1)	XX(TRUE,	EVENT,		DECLPROC(#EV),	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/77L
2)	ZZ("EVAL",	EVAL_X,		PF_XX,	0)
2)	XX(TRUE,	EVENT,		DECLPROC(#EV),	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/89L
1)		XX(TRUE,	HALT,		HALTDEBUG,	0)
1)	XX(TRUE,	HELP,		HELPCALL,	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/88L
2)	XX(TRUE,	HELP,		HELPCALL,	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/97L
1)	XX(TRUE,	LOAD_VARIABLES,	LOADPROC(NAME_OF_FILE),	#TOP)
1)	ZZ("LOG",	log_X,		PF_XX,	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/95L
2)	XX(TRUE,	LOAD_VARIABLES,	LOADPROC(NAMEFILE),	#TOP)
2)	ZZ("LOG",	log_X,		PF_XX,	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/115L
1)	XX(TRUE,	PHOTO,		PHOTOCALL(NAME_OF_FILE),	#TOP)
1)	XXZZ(TRUE,	POS,	COORDPROC(0,#VT),	POS_X,	PF_XX,	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/113L
2)	XX(TRUE,	PHOTO,		PHOTOCALL(NAMEFILE),	#TOP)
2)	XXZZ(TRUE,	POS,	COORDPROC(0,#VT),	POS_X,	PF_XX,	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/134L
1)		XX(TRUE,	RESTART,	RESTARTDEBUG,	#DEBUG+#TOP)
1)	XX(TRUE,	RESUME_MESSAGE,	RSUMEMESSCALL,	#TOP)
**** File 2) PARSE.SAI[TMP,MSM]/3P/132L
2)	XX(TRUE,	RESUME_MESSAGE,	RSUMEMESSCALL,	#TOP)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/140L
1)	XX(TRUE,	SAVECOREIMAGE,	SAVECORECALL(NAME_OF_FILE),	#TOP)
  1) PARSE.SAI[PNT,HE] and 2) PARSE.SAI[TMP,MSM]	6-25-80 13:53	pages 3,3

1)	XX(TRUE,	SCALAR,		DECLPROC(#SC),	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/137L
2)	XX(TRUE,	SAVECOREIMAGE,	SAVECORECALL(NAMEFILE),	#TOP)
2)	XX(TRUE,	SCALAR,		DECLPROC(#SC),	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/155L
1)		XX(TRUE,	TEXT,		TEXTDEBUG,	#DEBUG+#TOP)
1)	XX(#GATHER,	TGRAPH,		TGRAPHCALL,	#TOP)
**** File 2) PARSE.SAI[TMP,MSM]/3P/152L
2)	XX(#GATHER,	TGRAPH,		TGRAPHCALL,	#TOP)
***************


**** File 1) PARSE.SAI[PNT,HE]/3P/160L
1)		XX(TRUE,	TRAPS,		TRAPSDEBUG,	#DEBUG+#TOP)
1)		XX(TRUE,	UNBREAK,	BREAKDEBUG(FALSE),	#DEBUG+#TOP)
1)	XX(FALSE,	UNCONSOLE,	NOTAVAILCALL,	0)
**** File 2) PARSE.SAI[TMP,MSM]/3P/156L
2)	XX(FALSE,	UNCONSOLE,	NOTAVAILCALL,	0)
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/5L
1)		INTEGER TXTPOS,INSTR;
1)		$$PCODE←NULL_RECORD;		! initialize at beginning of statement;
1)		IF !DEBUG AND ¬!!DEBUGGING THEN TXTPOS←LENGTH($CLNSAVE);
1)		NOEXPAND←FALSE;			! enable macro expansions ;
**** File 2) PARSE.SAI[TMP,MSM]/6P/5L
2)		$$PCODE←NULL_RECORD;		! initialize at beginning of statement;
2)		NOEXPAND←FALSE;			! enable macro expansions ;
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/12L
1)		IF !DEBUG AND ¬!!DEBUGGING THEN 
1)		   IF ($COMPILE=0) THEN INSTR←INSTR_N←1 ELSE INSTR←INSTR_N←INSTR_N+1;
1)		IF "A"≤ TOKEN ≤"Z" THEN
1)	IF res_class=0 THEN ASSIGNPROC
1)	ELSE BEGIN "a"
1)		BOOLEAN INCR_COM;
**** File 2) PARSE.SAI[TMP,MSM]/6P/10L
2)		IF "A"≤ TOKEN ≤"Z" THEN
2)	IF res_class=0 THEN ASSIGNPROC
2)	ELSE BEGIN
2)		BOOLEAN INCR_COM;
***************
  1) PARSE.SAI[PNT,HE] and 2) PARSE.SAI[TMP,MSM]	6-25-80 13:53	pages 6,6



**** File 1) PARSE.SAI[PNT,HE]/6P/25L
1)		if ccodes[res_entry] land #debug and ¬!!DEBUGGING then 
1)			error(token,":: is a debug command and is valid only in debug mode");
1)		   CASE res_class of
**** File 2) PARSE.SAI[TMP,MSM]/6P/21L
2)		   CASE res_class of
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/38L
1)	     END "a"
1)	ELSE IF TOKEN=";" OR TOKEN=NULL THEN
**** File 2) PARSE.SAI[TMP,MSM]/6P/32L
2)	     END
2)	ELSE IF TOKEN=";" OR TOKEN=NULL THEN
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/43L
1)		IF TOKEN="↑" THEN $ARROW←$ARROW+20 ELSE 
1)		IF TOKEN="↓" THEN $ARROW←$ARROW-20 ELSE 
1)		IF #TOKEN=INT_TYPE
1)		   THEN BEGIN
1)			INTEGER NUM;
1)			NUM←INTSCAN(TOKEN,$BRCHR);GTOKEN;
1)			IF TOKEN="↓" THEN $ARROW←$ARROW-NUM*20
**** File 2) PARSE.SAI[TMP,MSM]/6P/37L
2)		IF TOKEN="↑" 
2)		   THEN BEGIN $ARROW←$ARROW+20; UPDATE; END
2)		ELSE IF TOKEN="↓" 
2)		   THEN BEGIN $ARROW←$ARROW-20; UPDATE; END
2)		ELSE IF #TOKEN=INT_TYPE
2)		   THEN BEGIN
2)			INTEGER NUM;
2)			NUM←INTSCAN(TOKEN,$BRCHR);
2)			GTOKEN;
2)			IF TOKEN="↓" THEN $ARROW←$ARROW-NUM*20
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/52L
1)			END
**** File 2) PARSE.SAI[TMP,MSM]/6P/49L
2)			UPDATE;
2)			END
***************
  1) PARSE.SAI[PNT,HE] and 2) PARSE.SAI[TMP,MSM]	6-25-80 13:53	pages 6,6



**** File 1) PARSE.SAI[PNT,HE]/6P/55L
1)	IF !DEBUG AND ¬!!DEBUGGING
1)	   THEN IF $$PCODE 
1)		   THEN $$PCODE←MARK(INSTR,TXTPOS) ELSE INSTR_N←INSTR_N - 1;
1)		IF NOT $COMPILE
**** File 2) PARSE.SAI[TMP,MSM]/6P/54L
2)		IF NOT $COMPILE
***************


**** File 1) PARSE.SAI[PNT,HE]/6P/61L
1)			IF !DEBUG AND ¬!!DEBUGGING AND $$PCODE THEN DBINIT;
1)			IF $$PCODE THEN $EXECUTE($$PCODE);
**** File 2) PARSE.SAI[TMP,MSM]/6P/57L
2)			IF $$PCODE THEN $EXECUTE($$PCODE);
***************


**** File 1) PARSE.SAI[PNT,HE]/7P/1L
1)	!	preparse;
1)	INTERNAL PROCEDURE PREPARSE;
**** File 2) PARSE.SAI[TMP,MSM]/7P/1L
2)	!	preparse,rparse;
2)	INTERNAL PROCEDURE PREPARSE;
***************


**** File 1) PARSE.SAI[PNT,HE]/7P/9L
1)		REFPROC←NULL_RECORD;	! this isn't a procedure call;
1)		CURBLOCK←NULL_RECORD;	! we are ouside a block ;
**** File 2) PARSE.SAI[TMP,MSM]/7P/9L
2)		CURBLOCK←NULL_RECORD;	! we are ouside a block ;
***************